package com.qf.mvc2203.ex;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

@RestControllerAdvice// 代表当前的统一异常处理器要返回的是数据而不是页面
public class MyRestExHandler {
    @ExceptionHandler(UserException.class)
    public Map<String, String> userExHandler(UserException e) {
        System.out.println(e);
        HashMap<String, String> map = new HashMap<>();
        map.put("code", e.getCode().toString());  // 自定义异常编码
        map.put("msg", e.getMsg());// 异常的消息
        map.put("date", new Date().toString()); // 其他要返回的字段可以在map中扩展
        return map;
    }
    @ExceptionHandler(Exception.class)
    public Map<String, String> ExHandler(Exception e) {
        System.out.println(e);
        HashMap<String, String> map = new HashMap<>();
        map.put("code", "-1000"); // 通用异常编码
        map.put("msg", "服务器有故障");// 异常的消息
        map.put("date", new Date().toString()); // 其他要返回的字段可以在map中扩展
        return map;
    }
}
